package juego.arma;


import juego.movil.Bala;
import juego.tipos.*;
import juego.movil.aeronave.AvionDeCombate;
import juego.motor.MotorRastreador;
import juego.Constantes;
import juego.Cielo;

public class Rastreador extends Arma{

	public Rastreador(int cantidadDisparos){
		this.setDisparos(cantidadDisparos);
		poder = new Poder(Constantes.Arma_Rastreador_Energia());
		velocidadDisparo = Constantes.Arma_Rastreador_VelocidadDisparo();
	}
	
	//Crea una Bala con un motor de rastreo seteado como objetivo al enemigo mas cercano al jugador.
	//y la coloca en el cielo.
	public void disparar(AvionDeCombate avionDeOrigen){
		if(disparos == 0) return;
		
		AvionDeCombate objetivo = avionDeOrigen.getEnemigoMasCercano();
		
		Vector direccionBala= avionDeOrigen.getPosicion().dirigidoA(objetivo.getPosicion());
		Velocidad velocidadBala = new Velocidad(direccionBala,velocidadDisparo);
		MotorRastreador motor = new MotorRastreador(velocidadBala,objetivo);
		Posicion posicionBala = avionDeOrigen.getPosicion();

		Bala balaADisparar = new Bala(poder,velocidadBala,posicionBala,avionDeOrigen.getClasificacionAtaque());
		balaADisparar.setMotor(motor);
		Cielo.getInstancia().agregar(balaADisparar);
		this.disparosDescontar(1);
	}
	
	
}
